iT邦幫忙

2023 iThome 鐵人賽

DAY 30
0

終於走到了最後一天,照以往慣例這篇純粹分享參賽到目前為止的感想,也算是總結一下這個系列
後面會不會持續更新?我還不曉得,但大概會休息耍廢一陣子,再回頭把之前的文章脈絡補得更完整吧

其實今年本來沒有想要參賽的,因為看到自己喜歡的大大們一直大力宣傳,於是咬牙又報名了今年的鐵人賽。但老實說今年真的感受很不一樣,也許是和多了很多同社群參賽的選手彼此激勵的關係,讓這次的活動多了許多不一樣的感受。

以下是我自己參賽過程遇到的一些轉折和反思

怎麼拿捏題目的深或淺?

當初選題的方向確實是希望純粹讓 chatGPT 帶著沒經驗的大家一路學習概念往前走,但 websocket 老實說還是有蠻多細節沒辦法不談,然後談了可能又可能因為技術細節太多而收不回來。以我自己當初在接觸 python websockets 的應用時,就在協程 (coroutine) 相關的部分卡關一陣子。但那時候其實系列文的脈絡還沒到那邊,要轉去談協程 (coroutine) 可能會讓原本的方向跑掉,所以後來只有在一些需要提醒的地方稍微說明而已。

chatGPT 能包辦所有的程式碼產出嗎?怎麼跟 chatGPT 互動會比較好?

現階段當然是不行。以這三十天的經驗來看,在建構早期程式碼的時候可以透過它建出一個簡單的案例,但是要開始和其他部分整併的時候就還是需要各種微調。通常那時候自己動手下去改會是比較好的選擇。印象很深刻的是有一次我要請 chatGPT 幫我切前端頁面的 layout,講了好幾次給的版面還是不對,只好自己動手改頁面。

能用 chatGPT 產出符合需求的程式碼有一個前提是「描述需求的文字足夠清楚沒有太多模糊」,因為 chatGPT 很擅長通靈,不擅長主動提問。所以遇到需要修正的狀況多半還是自己改比較快。

另外一個方式就是要盡可能簡化功能或是用模擬的方式代替,用這種方式跟 chatGPT 協作的效果還算不錯,同時也讓我有機會在 30 天內產出一個「還算可以動的成品」。

比賽中間換了一些問法得到不一樣的程式架構,那段過程有點像觀摩學習,在最後收尾階段時,也給我一些參考的靈感。沒有一套可以從頭用到尾的架構,但是時間足夠的話,還是有機會在最後組合出不錯的結果 (還是需要自己消化整理)

背景知識還是很重要

chatGPT 給的東西不會很深入,所以需要靠自己再深入挖掘才會明白。因為這次系列文的目標是希望 30 天結束前至少產出成品,所以放掉很多繼續深挖的機會。賽後如果還有力氣的話,可能會再回頭把其他知識點補齊一點。

例如:websocket 的心跳機制、PING/PONG 特殊楨的部分。

快還能更快嗎?

這部分算是一次自我嘗試,單純試試看這樣子可以多快把東西產出?換個方式來說的話,就是我能不能用最單純的架構去找到整個連線遊戲的神韻?其實會想這樣子嘗試是專案開發的過程中有蠻多的約束,多半是為了專案品質和穩定性,然後開發的速度就快不起來了。

但是這種放棄對品質的追求,盡可能以純粹的方式讓專案發展起來的方式,我覺得對我自己來說是蠻特別的體驗。因為這不是很認真的專案,所以小小放縱一下應該是無傷大雅的 :P

致謝

謝謝大力推坑的 Vincent, Huli, 龍哥,以及本次一同參賽的水球學院的成員們、各位鐵人賽的寫手們,訂閱、關注的各位看官們。謝謝你們的參與讓今年這一屆的鐵人賽有不一樣的風采。

本系列的範例程式碼可以在此取得


上一篇
D29 發布遊戲?你要不要再想想? - 關於遊戲上線前要考慮的事情
下一篇
#31 如何在 heroku 上配置 wss 和停用 ws (強制使用 wss)?
系列文
chatGPT 帶你從零開始寫 websocket 連線遊戲31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言